package com.jdrx.sw.sewage.beans.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * sewage_station
 */
@Data
@ApiModel(value = "StationPO", description = "站点信息表，存放站点名称，地址，经纬度等相关信息")
public class StationPO implements Serializable {
	private static final long serialVersionUID = 8202346644170934626L;

	@ApiModelProperty(value="id")
    private Long id;

    @ApiModelProperty(value="租户ID")
    private Long tenantId;
    
    @ApiModelProperty(value="数据节点", hidden = true)
    private String dataNode;

    @ApiModelProperty(value="站点名称")
    private String name;
    
    @ApiModelProperty(value="站点编码，全局唯一，用于运营端、租户端数据交互")
    private String code;

    @ApiModelProperty(value="详细地址")
    private String addr;

    @ApiModelProperty(value="经度")
    private Float lon;

    @ApiModelProperty(value="纬度")
    private Float lat;

    @ApiModelProperty(value="状态，0-正常，1-欠费，2-停用")
    private Integer status;

    @ApiModelProperty(value="物联网网关，多个用逗号分割")
    private String iotGatewayNum;

    @ApiModelProperty(value="服务时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
    private LocalDate serviceTime;

    @ApiModelProperty(value="建设单位")
    private String construction;

    @ApiModelProperty(value="主管单位")
    private String comDepart;

    @ApiModelProperty(value="建设负责人")
    private String conLeader;

    @ApiModelProperty(value="建设负责人联系方式")
    private String conLeaderPho;

    @ApiModelProperty(value="占地面积")
    private BigDecimal area;

    @ApiModelProperty(value="总投资预算")
    private BigDecimal totalBudget;

    @ApiModelProperty(value="处理工艺")
    private String treatProcess;

    @ApiModelProperty(value="设计处理能力")
    private BigDecimal designProc;

    @ApiModelProperty(value="设计污泥处理能力")
    private BigDecimal designSludgeProc;

    @ApiModelProperty(value="开工时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
    private LocalDate conStartTime;

    @ApiModelProperty(value="竣工时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
    private LocalDate conEndTime;

    @ApiModelProperty(value="建设信息备注")
    private String conRemark;

    @ApiModelProperty(value="站点照片，如果有多个用;拼接")
    private String stationPic;

    @ApiModelProperty(value = "运营单位")
    private String operate;

    @ApiModelProperty(value = "运营部门")
    private String opeDepart;

    @ApiModelProperty(value = "运营负责人")
    private String opeLeader;

    @ApiModelProperty(value = "运营负责人id，逗号分隔")
    private String opeLeaderId;

    @ApiModelProperty(value = "运营负责人联系方式")
    private String opeLeaderPho;

    @ApiModelProperty(value = "投入运营时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
    private LocalDate opeStartTime;

    @ApiModelProperty(value = "运营备注")
    private String opeRemark;

    @ApiModelProperty(value="运营照片")
    private String opeStationPic;
    
    @ApiModelProperty(value = "摄像头配置json")
    private Object camera;

    @ApiModelProperty(value="创建时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createAt;

    @ApiModelProperty(value="创建人ID")
    private Long createBy;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateAt;

    @ApiModelProperty(value = "修改人ID")
    private Long updateBy;

    @ApiModelProperty(value = "删除标记：0-未删除，1-已删除")
    private Integer deleteFlag;

    @ApiModelProperty(value = "失联告警类型字典id")
    private Integer alarmType;
    
    private List<Long> stationIds;
}